{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Copyright (c) 2018-present, Facebook, Inc.\n",
    "# All rights reserved.\n",
    "#\n",
    "# This source code is licensed under the license found in the\n",
    "# LICENSE file in the root directory of this source tree.\n",
    "#\n",
    "\n",
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from common.visualization import render_animation\n",
    "from IPython.display import HTML"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Human3.6M Visualization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from short_term.dataset_h36m import dataset as h36m\n",
    "\n",
    "if torch.cuda.is_available():\n",
    "    h36m.cuda()\n",
    "h36m.compute_positions() # Forward kinematics on all animations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['S1', 'S11', 'S5', 'S6', 'S7', 'S8', 'S9'])"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "h36m.subjects()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['directions_1_d0', 'directions_1_d1', 'directions_2_d0', 'directions_2_d1', 'discussion_1_d0', 'discussion_1_d1', 'discussion_2_d0', 'discussion_2_d1', 'eating_1_d0', 'eating_1_d1', 'eating_2_d0', 'eating_2_d1', 'greeting_1_d0', 'greeting_1_d1', 'greeting_2_d0', 'greeting_2_d1', 'phoning_1_d0', 'phoning_1_d1', 'phoning_2_d0', 'phoning_2_d1', 'posing_1_d0', 'posing_1_d1', 'posing_2_d0', 'posing_2_d1', 'purchases_1_d0', 'purchases_1_d1', 'purchases_2_d0', 'purchases_2_d1', 'sitting_1_d0', 'sitting_1_d1', 'sitting_2_d0', 'sitting_2_d1', 'sittingdown_1_d0', 'sittingdown_1_d1', 'sittingdown_2_d0', 'sittingdown_2_d1', 'smoking_1_d0', 'smoking_1_d1', 'smoking_2_d0', 'smoking_2_d1', 'takingphoto_1_d0', 'takingphoto_1_d1', 'takingphoto_2_d0', 'takingphoto_2_d1', 'waiting_1_d0', 'waiting_1_d1', 'waiting_2_d0', 'waiting_2_d1', 'walking_1_d0', 'walking_1_d1', 'walking_2_d0', 'walking_2_d1', 'walkingdog_1_d0', 'walkingdog_1_d1', 'walkingdog_2_d0', 'walkingdog_2_d1', 'walkingtogether_1_d0', 'walkingtogether_1_d1', 'walkingtogether_2_d0', 'walkingtogether_2_d1'])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "h36m['S1'].keys()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The *_d0* or *_d1* suffix represents the version of the sequence after downsampling (even/odd)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# You can visualize the data as inline HTML5 video\n",
    "HTML(render_animation(h36m['S1']['walking_1_d0']['positions_world'][:150], h36m.skeleton(), h36m.fps(), output='html'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Alternatively, you can visualize it interactively using the nbagg backend\n",
    "%matplotlib notebook\n",
    "anim = render_animation(h36m['S1']['sitting_1_d0']['positions_world'][:150], h36m.skeleton(), h36m.fps(), output='interactive')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Locomotion generation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "from long_term.dataset_locomotion import dataset, long_term_weights_path\n",
    "from long_term.locomotion_utils import build_extra_features, compute_splines\n",
    "from long_term.pose_network_long_term import PoseNetworkLongTerm\n",
    "from common.spline import Spline\n",
    "\n",
    "if torch.cuda.is_available():\n",
    "    dataset.cuda()\n",
    "dataset.compute_positions()\n",
    "build_extra_features(dataset)\n",
    "compute_splines(dataset)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['S1'])"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataset.subjects() # This dataset has no subject mapping"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['jog_sidestep_2_d1', 'jog_sidestep_4_m_d3', 'jog_sidestep_11_d0',\n",
       "       'jog_sidestep_9_m_d3', 'jog_4_m_d3', 'transitions_5_d1',\n",
       "       'transitions_8_m_d3', 'transitions_8_d0', 'transitions_4_d1',\n",
       "       'jog_sidestep_10_d3', 'jog_sidestep_5_m_d1', 'run_4_m_d1',\n",
       "       'walk_sidestep_2_d2', 'run_3_m_d0', 'jog_sidestep_9_m_d2',\n",
       "       'walk_5_m_d1', 'jog_sidestep_9_m_d0', 'walk_2_d0',\n",
       "       'jog_sidestep_5_d2', 'jog_sidestep_10_d0'], dtype='<U20')"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Show 20 random actions\n",
    "np.random.seed(1)\n",
    "np.random.choice(list(dataset['S1']), size=20)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since we downsample the dataset from 120 FPS to 30 FPS, we preserve all four strides (from *_d0* to *_d3*). The samples with the suffix *_m* are mirrored."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Let's visualize a sequence from the training set\n",
    "HTML(render_animation(dataset['S1']['run_4_d0']['positions_world'][:200], dataset.skeleton(), dataset.fps(), output='html'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Loading weights from weights_pace_network.bin\n"
     ]
    }
   ],
   "source": [
    "from long_term.pace_network import PaceNetwork\n",
    "\n",
    "# Now, we load the pace network and infer the spline parameters from the trajectory\n",
    "pace_net = PaceNetwork()\n",
    "pace_net.load_weights('weights_pace_network.bin')\n",
    "spline = Spline(dataset['S1']['run_4_d0']['trajectory'][:, [0, 2]], closed=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We want the character to run\n",
    "%matplotlib inline\n",
    "spline_run = pace_net.predict(spline, average_speed=1.2)\n",
    "plt.plot(spline_run.get_track('curvature'))\n",
    "plt.plot(spline_run.get_track('amplitude'))\n",
    "plt.plot(spline_run.get_track('frequency'))\n",
    "plt.legend(['Curvature', 'Local speed', 'Footstep frequency'])\n",
    "_ = plt.xlabel('Spline travel distance')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# We want the character to walk\n",
    "%matplotlib inline\n",
    "spline_walk = pace_net.predict(spline, average_speed=0.5)\n",
    "plt.plot(spline_walk.get_track('curvature'))\n",
    "plt.plot(spline_walk.get_track('amplitude'))\n",
    "plt.plot(spline_walk.get_track('frequency'))\n",
    "plt.legend(['Curvature', 'Local speed', 'Footstep frequency'])\n",
    "_ = plt.xlabel('Spline travel distance')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "# parameters: 9529246\n",
      "Loading weights from weights_long_term.bin\n"
     ]
    }
   ],
   "source": [
    "model = PoseNetworkLongTerm(30, dataset.skeleton())\n",
    "if torch.cuda.is_available():\n",
    "    model.cuda()\n",
    "model.load_weights(long_term_weights_path) # Load pretrained model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Now let's generate the actual video (for running)\n",
    "prediction = model.generate_motion(spline_run, dataset['S1']['run_4_d0'])\n",
    "HTML(render_animation(prediction[100:300], dataset.skeleton(), dataset.fps(), output='html'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# (for walking)\n",
    "prediction = model.generate_motion(spline_walk, dataset['S1']['walk_1_d0'])\n",
    "HTML(render_animation(prediction[100:300], dataset.skeleton(), dataset.fps(), output='html'))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "You can also build your own spline.\n",
    "For instance, we could define a circular trajectory."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvFvnyVgAAIABJREFUeJzt3Xl8XFX9//HXJ5PJvjR70iRN0jZd0r0NpVBaRAqUtewCgshiRUFF9CcofhEfgl9AQQERvgWFqiwWC4ICpSs7XdI9bdMs3ZI0zdLse2bm/P7IFCKWLkkmd5bP8/GYx8zcmcz93DZ55+Tcc88RYwxKKaX8X5DVBSillBoaGvhKKRUgNPCVUipAaOArpVSA0MBXSqkAoYGvlFIBQgNfKaUChAa+UkoFCA18pZQKEMFWF9BXYmKiyc7OtroMpZTyKRs3bqwzxiQd731eFfjZ2dkUFBRYXYZSSvkUEdl/Iu/TLh2llAoQGvhKKRUgNPCVUipAaOArpVSA0MBXSqkAMeDAF5FMEVkjIrtEZIeI/MC9PV5EVohIifs+buDlKqWU6q/BaOE7gB8ZY8YDs4DbRSQPuAdYZYzJBVa5nyullLLIgMfhG2OqgCr34xYR2QWkAwuAr7jfthh4D7h7oPtTajAZY2judHCoqZPG9m7au520dTto63LQ1uWkvdtBt9MQHCTYguSze7stCLstiLgIO3GRISREhhAXGcKwcDvBNu0pVd5pUC+8EpFsYBqwDkhx/zLAGFMlIslf8jULgYUAI0aMGMxylALA6TLsP9xG0aEWiqtbqGzo4FBzJwcbO6hq6qS92zlo+xKB2HA7GXHhZCdEkpMYSVZCJDmJEWQnRBIfGYKIDNr+lDoZMliLmItIFPA+8KAx5jURaTTGDOvzeoMx5pj9+Pn5+UavtFUD0eN0UVjZxMb9DRQdamH3oRZKalro7HEBvYGcHB1KWmw4abFhn98PCyMuIoTI0GAiQ2xEHLkPCcZuE1wGHC4XDqfB4TI4XYYuh5OGth4a2rupb/v8dritiwP1Heyra6OioR1Xnx+xxKhQpmbGMiVjGFMyhzE5I5ZhESEW/WspfyEiG40x+cd736C08EXEDiwFXjTGvObeXC0iae7WfRpQMxj7Uqqvzh4nW8obWb+3nvV769m4v4GOnt4We2JUKOPTorn+1CzGpkYzLjWG3JQowuy2k96PTcAWZCP0Cz8xabHhx/y6boeL8oZ29h9uY09tGzsPNrO1opGVuz7/cchOiGBGVjxzxyRyxuhEEqJCT7o+pU7EgFv40vv36WKg3hhzZ5/tvwEOG2MeEpF7gHhjzE+O9Vnawlcnorq5kxU7q1mxs5pPyw7T7XQhAuNSYzg1J56ZOfHkZ8eRHB1mdalfqrmzh8KKJrZUNLK1vJF1e+tpbO9BBCYOj2XumETm5iYxPSsOu54TUMdxoi38wQj8M4APge2Ay735Z/T24y8BRgAHgKuMMfXH+iwNfPVlSmtaeHdHNct3VrO1vBHobRmfPT6F00clkJ8VT2yE3eIq+8/pMmyvbOLD4lo+KKll04FGnC5DbLid8yemcvGU4cwamYAtSPv/1X8bssAfTBr4qq+Gtm7e2FLJkoIKdlY1AzAlI5ZzJ6Rybl4Ko5Oj/PYEaHNnD5+UHubdHYdYvuMQbd1OkqJDuXBSGhdPGc70EcP89tjVydPAVz7J6TJ8VFrHkoJyVuyoptvpYmJ6DFdOz2D+xDRSY723m8ZTOrqdrC6q4V9bD7J6dw3dDhc5iZFcPyuLK2dkEBvuu3/ZqMGhga98SnNnDy+tO8BfPtnHwaZO4iLsXDotnatmZJI3PMbq8rxGc2cP7xYe4uX1B9h0oJFwu41Lpw3nhlnZ+u8UwDTwlU842NjB8x/v5eX15bR2OTh9VALXz8ri7PHJhAaf/GiaQFJY2cRfP93PG1sr6exxcUp2HLfOGcm5eSna3RNgNPCVVys61Myi9/fw5taDGODCSWksnDuSiemxVpfmcxrbu3m1oIK/rN1HeX0H49Ni+MHZozk3L5UgPckbEDTwlVc6cLidR1fs5o0tB4kIsXHNKSO4+YxsMuIirC7N5zmcLt7YcpA/rCllb10b41Kj+f7ZucyfoMHv7zTwlVepa+3iyVUlvLT+ALYg4ebZOSycO1KvMvUAh9PFv7dV8cTqEvbU9gb/zy4Yz9wxx13jWvkoDXzlFdq6HCz6YA/PfbiHToeLq/MzuXNeLikxgTfaZqg5XYZ/bzvIYyuK2X+4nXnjk7n3wjxyEiOtLk0NMg18Zbl3dxzi/jd3UNXUyQWTUvnRuWMZlRRldVkBp8vh5IWP9/Hk6lK6HE5unp3DHV8dTXSYDuf0Fxr4yjKVjR384o0drNxVzbjUaB64dCL52fFWlxXwalo6+e27u3l1YwUJkSHce+F4Lp2ariN6/IAGvhpyDqeL5z/ex+9WFmMM3Dkvl5vPyNG5YLzM9oom7nuzkM0HGpk3PoVfXzaRZO1i82ka+GpIlda0cuffN1NY2czZ45K5/5IJZMbryBtv5XQZnv94L795dzehwUHcf8kELpumrX1fdaKBr00vNSDGGF5ct5+LnvyQyoYO/vj16Tx3Y76GvZezBQm3zhnJsjvnMiYlmruWbOXWxQVUN3daXZryIA181W/1bd0s/OtG7n29kFOy41l251wumJSmrUQfkpMYyd+/fRo/v3A8H5XWMf/3H/Debl26wl9p4Kt++aikNxze313Lzy8cz+KbZupQSx91pLX/9g/mkBITxk0vbODR5btxurynu1cNDg18dVKMMTzzfhk3/HkdseF2/nn7bG6dM1Kv5PQDo5KieP27s7lyegZPri7lhj+to7aly+qy1CAalMAXkT+LSI2IFPbZdr+IVIrIFvftgsHYl7JOR7eTH7yyhYfeKeLCSWm8eccZOkOjnwkPsfGbq6bwyJWT2bi/gQuf+JD1e4+5bpHyIYPVwn8BmH+U7b8zxkx1394epH0pC1Q2dnDlM5/wr20H+cn8sTx57TTCQ3Q2S391dX4m/7x9NpGhwXz9ubW8tqnC6pLUIBiUwDfGfABoM8BPbdhXzyVPfsSBw+386cZ8vvuV0XpiNgCMT4vhn7fPJj8rnruWbOXxlSV40zBudfI83Yd/h4hsc3f5xHl4X8oD3t1xiK8/19tf//rts/nquBSrS1JDKDbczuKbZ3L59HR+t7KYH7+6jW6H6/hfqLySJwP/aWAUMBWoAh492ptEZKGIFIhIQW1trQfLUSfr1YJyvvO3jeSlxbD0O6czOlnnwQlEIcFBPHrVFH44bwxLN1XwzefX09TRY3VZqh88FvjGmGpjjNMY4wKeBWZ+yfsWGWPyjTH5SUk6fau3eO7DPfy/f2xj9uhEXrz1VOIidRrjQCYi/GBeLo9eNYUN++q57tm1NLR1W12WOkkeC3wRSevz9DKg8Mveq7yHMYZHlhXxwFu7uHBSGs/dmE9kaLDVZSkvccWMDBZ9I5+Smlaue24d9Rr6PmWwhmW+DHwKjBWRChG5BXhERLaLyDbgLOCHg7Ev5TnGGB54axd/fK+M604dwRPXTtN1ZdV/OWtsMs99I589ta1c9+xa6lp1rL6v0MnT1GceW76bJ1aX8s3Ts/nFxXk6Ekcd08elddyyeAOZcRG8+K1TSY7WK62topOnqZPy9HtlPLG6lK/lZ3LfRRr26vhmj07k+W/OpLKxg2sXrdXuHR+gga/4y6f7eHhZEZdMGc6vL5+k0ySoE3baqASe/+YpVDR0cMviDXR0O60uSR2DBn6AW7qxgvve2ME5eSk8evUUbBr26iSdOjKBx6+ZxtbyRr738iYcTh2n76008APYp2WHuXvpNmaPTuAP103TlalUv82fmMovF0xk5a4a/ueNQr0i10vpeLsAta+uje+8uJHsxEievn6GjsZRA3bDrCwONXXw1JoyUmLCuHPeGKtLUl+ggR+Amtp7uHnxBgT40435xITZrS5J+YkfnzuW6uYufr+yhJzESBZMTbe6JNWH/g0fYHqcLm5/aRPl9e08c/0MshIirS5J+RER4X8vn8Qp2XHcs3Q7RYearS5J9aGBH2AefGsXH5XW8eBlkzh1ZILV5Sg/ZLcF8dR104kKC+bbf92o8+54EQ38APLO9ipe+GQfN8/O4er8TKvLUX4sOSaMp78+ncqGDu76+xZculyiV9DADxDl9e38ZOk2pmTEcs/546wuRwWA/Ox4/ueiPFYV1fDk6lKry1Fo4AeEHqeL77+yGQw8ee10QoL1v10NjW+clsXl09L5/api1u05bHU5AU9/8gPAYyuK2Xygkf+9YhIjEiKsLkcFEBHhV5dOJDMugh+9upXWLofVJQU0DXw/91FJHU+/V8a1M0dw0eThVpejAlBkaDCPXT2Fg40dPPDvnVaXE9A08P1YW5eDu5duY2RSJPddlGd1OSqA5WfH8+0zR/HKhnJW7aq2upyApYHvxx5dXkxlYwcPXzGZ8BC9klZZ6855uYxLjebupdt1Zk2LaOD7qc0HGnj+k73cMCuLU7LjrS5HKUKDbfzua1Np7ujhl//aYXU5AWmwVrz6s4jUiEhhn23xIrJCRErc93GDsS91fN0OF/cs3U5qTBg/mT/W6nKU+sz4tBhu+8oo3thykE/LdNTOUBusFv4LwPwvbLsHWGWMyQVWuZ+rIfDM+2Xsrm7hgUsnEq3z5Cgv892vjCIjLpxfvFlIj06lPKQGJfCNMR8A9V/YvABY7H68GLh0MPaljq2ysYOn1pRy4eQ0zh6fYnU5Sv2XMLuN+y7Ko7i6lcWf7LO6nIDiyT78FGNMFYD7PtmD+1Juv313Nwb42QXjrS5FqS91Tl4KXxmbxO9XllDT3Gl1OQHD8pO2IrJQRApEpKC2ttbqcnzatopGXt9cyS1n5JA+LNzqcpT6UiLC/RdPoNvh4n/fKbK6nIDhycCvFpE0APd9zdHeZIxZZIzJN8bkJyUlebAc/2aM4cG3dpEQGcJ3vzLK6nKUOq7sxEhumZPD65sr2VWl0ygPBU8G/pvAje7HNwJveHBfAW/FzmrW7a3nznm5eqJW+Yzb5o4iOiyY360otrqUgDBYwzJfBj4FxopIhYjcAjwEnCMiJcA57ufKA5wuw0PLihiVFMk1M0dYXY5SJyw2ws635oxk+c5qtlU0Wl2O3xusUTrXGmPSjDF2Y0yGMeZPxpjDxpizjTG57vsvjuJRg+Sdwir21LZx1zljdSFy5XNump1NXISdR5drK9/TNB18nDGGP64pY2RSJPMnplpdjlInLTrMzm1njuL94lo27NN2oSdp4Pu494pr2VnVzG1njsIWJFaXo1S/fOO0bJKiQ3l8ZYnVpfg1DXwf98c1pQyPDePSqelWl6JUv4WH2LhpdjYfldax+1CL1eX4LQ18H7Z+bz0b9jWwcO5IXcVK+bxrTxlBmD2I5z/ea3UpfktTwoc9++Ee4iND+NopOjJH+b64yBAun57Ba5srOdzaZXU5fkkD30cdaupkdVENV+dn6lz3ym/cdHo23Q4XL68/YHUpfkkD30ctKSjH6TJcOzPT6lKUGjS5KdHMHZPEXz7dT7dDZ9IcbBr4PsjpMvx9QzlnjE4kKyHS6nKUGlQ3nZ5NTUuXLoXoARr4PuiDkloqGzu47lTtu1f+Z+6YJJKjQ3ltc6XVpfgdDXwf9NK6AyRGhTBP57tXfsgWJCyYOpz3dtfo2reDTAPfxzS2d7OmqIYrpmfoUEzlty6blkGP0/DvbQetLsWvaGL4mOU7q3G4DBdNHm51KUp5TN7wGMalRvPaJu3WGUwa+D7m7e1VZMaHMzE9xupSlPKoy6ens6W8kT21rVaX4jc08H1IU3sPH5fWccHENER03hzl3y6Z0jtdyDuFhyyuxH9o4PuQlbuq6XEazp+UZnUpSnlcamwYk9JjWV101MXyVD9o4PuQdwqrGB4bxpSMWKtLUWpInDUumc0HGmjQ0TqDwuOBLyL7RGS7iGwRkQJP789fdfY4+bCkjnMnpGp3jgoYXx2XjMvA+8W1VpfiF4aqhX+WMWaqMSZ/iPbndzYfaKTL4WJObqLVpSg1ZCanx5IYFaLdOoNEu3R8xCdlddiChJk58VaXotSQCQoSzhyTzPvFtTicOrfOQA1F4BtguYhsFJGFX3xRRBaKSIGIFNTW6p9tX+aTssNMSo8lOsxudSlKDamvjE2iqaOHHQebrS7F5w1F4M82xkwHzgduF5G5fV80xiwyxuQbY/KTkpKGoBzf09rlYGt5I7NHJ1hdilJDLj87DoBNBxosrsT3eTzwjTEH3fc1wOvATE/v099s2FuPw2U4fZT236vAkxYbzvDYMDYdaLS6FJ/n0cAXkUgRiT7yGDgXKPTkPv3Rhn31BAcJM7LirC5FKUtMz4pj035t4Q+Up1v4KcBHIrIVWA+8ZYxZ5uF9+p3Cg83kpkQTZteVrVRgmpEVR2VjB1VNHVaX4tOCPfnhxpg9wBRP7sPfGWPYUdnEV8clW12KUpY58tftpv2NXDg53OJqfJcOy/Ry1c1dHG7rZsJwnSxNBa7xaTGEBAextUL78QdCA9/L7TjYBMCEdJ1OQQUuuy2IkYmRlNbozJkDoYHv5XYcbEakt4WjVCAblRylgT9AGvheruhQM1nxEUSFevR0i1Jeb3RSFOUN7XT2OK0uxWdp4Hu5A/XtZCVEWl2GUpYbnRyFMbC3rs3qUnyWBr6Xq2joIDNeRyUoNTo5CkC7dQZAA9+LtXT20NjeQ0ZchNWlKGW5nMRIRGBPrbbw+0sD34uV1/deZJKpga8UYXYb8REhVLd0Wl2Kz9LA92IVDe0AZMRpl45SAEnRodS2dFldhs/SwPdiFQ29LXwNfKV6JUWHUqOB328a+F6ssb0bEYiLCLG6FKW8QlJ0KHUa+P2mge/FmjsdRIcGExSka9gqBZAcHUZtSxfGGKtL8Uka+F6suaOHmHBd4UqpI5KiQ+l2umjq6LG6FJ+kge/Fmjt7iNElDZX6THRY7xXnrV0OiyvxTRr4Xqypo4dYbeEr9ZnQ4N7I6nLogub94fHAF5H5IrJbREpF5B5P78+fNHc4PmvRKKUgNLh3EaCuHg38/vD0Eoc24Cl6FzDPA64VkTxP7tOf9DhdhOoqV0p9JtR+pIWvE6j1h6db+DOBUmPMHmNMN/AKsMDD+1RK+akjXTqd2sLvF08HfjpQ3ud5hXubUkqdtCNX2W7YV29xJb7J04F/tAHk/zGAVkQWikiBiBTU1tZ6uByllC87crK2TUfp9IunA78CyOzzPAM42PcNxphFxph8Y0x+UlKSh8tRSvmyEfG9EwmeOVazoj88HfgbgFwRyRGREOAa4E0P71Mp5aeOrHZ1ZLSOOjkeHfNnjHGIyB3Au4AN+LMxZocn9+lPbEFCj443VuozR7p0wux6CVF/eHyQtzHmbeBtT+/HH8WE22np0kvIlTriSOBrC79/9NekF4sJC6a5Q09OKXVE12ddOhpd/aH/al4sJtxOc6e28JU6or27N/DDQ7SF3x8a+F4sJsyuswIq1UdtSxe2ICFe14joFw18LxYTHkxzR4/O/a2UW01LJ4lRIbpGRD9p4HuxYeEhuAzaj6+UW21LF0nRoVaX4bM08L3Y8GG9a9lWNnZYXIlS3qGmpYvk6DCry/BZGvheLDO+N/DLG9otrkQp71Db0kVSlLbw+0sD34tlxvVeRl5er4GvVI/TxeG2bpJjNPD7SwPfiw2LsBMZYqOiQbt0lNp/uB2ny5CdEGl1KT5LA9+LiQiZ8RFUaJeOUpTWtAIwOjnK4kp8lwa+l8uIi+CAdukoRVltb+CP0sDvNw18Lzc2NYo9tW2fzRKoVKAqq2klLTaMqFBd57m/NPC93IThsThchuLqFqtLUcpSpbWt2p0zQBr4Xm7C8BgAdhxstrgSpazjchnKaloZlaSBPxAa+F5uRHwE0WHBFFY2WV2KUpYprW2lrdvJxPRYq0vxaRr4Xk5EyEuL0Ra+Cmgb9zcAMCMrzuJKfJvHAl9E7heRShHZ4r5d4Kl9+bsJw2MpOtRMj1NXv1KBaeP+BuIjQ8hOiLC6FJ/m6Rb+74wxU903XfWqn2ZkxdHZ42K7duuoALXpQAPTR8QhorNkDoR26fiAWSPjAfiktM7iSpQaevVt3eypbdPunEHg6cC/Q0S2icifRUT/t/opISqU8WkxfFJ22OpSlBpym7T/ftAMKPBFZKWIFB7ltgB4GhgFTAWqgEe/5DMWikiBiBTU1tYOpBy/NntUAgX7G/QCLBVwPiipJdxuY3KGjtAZqAEFvjFmnjFm4lFubxhjqo0xTmOMC3gWmPkln7HIGJNvjMlPSkoaSDl+7fTRCXQ7XJ+1dpQKBMYYVhfVMHt0AmF2Xcd2oDw5Sietz9PLgEJP7SsQzMxJwBYkfFym/fgqcJTWtFLR0MFZ45KtLsUveLIP/xER2S4i24CzgB96cF9+Lyo0mFOy41ixs9rqUpQaMquLagA4a6wG/mDwWOAbY24wxkwyxkw2xlxijKny1L4CxQWT0iiubqW0RufVUYFhdVEN41KjP1vuUw2MDsv0IedNSEUE3t5+yOpSlPK4pvYeCvY38FXtzhk0Gvg+JCUmjPysON7ern8sKf/3dmEVTpdh/sRUq0vxGxr4Pub8iWkUHWphj3sxCKX81eubKhmVFMkknTBt0Gjg+5gjrR1t5St/Vl7fzvp99Vw+PUOnUxhEGvg+ZviwcE7NiWdJQQUul7G6HKU84vXNlQBcOi3d4kr8iwa+D7ru1BEcqG/XqRaUXzLG8PrmSmaNjCddR+cMKg18H3TehFTiIuy8tH6/1aUoNeg2HWhkb10bl0/LsLoUv6OB74PC7DaumJ7B8h3V1LZ0WV2OUoNq8Sf7iA4N5oLJacd/szopGvg+6pqZI3C4DP/YWGF1KUoNmqqmDt7eXsXXTskkKjTY6nL8jga+jxqdHMWpOfG8tH4/Dl0JS/mJv366H5cx3Hh6ttWl+CUNfB928xk5lNd38JYO0VR+oKPbyUvrD3BuXiqZ8bqUoSdo4Puwc8ankJscxR/XlOkQTeXzXt9cSWN7DzefkWN1KX5LA9+HBQUJ3/nKKHZXt3w2q6BSvsjhdPHch3uYmB7DKdm6spWnaOD7uIunDCcjLpw/rCnFGG3lK9/0+uZK9tS1ccdZuXplrQdp4Ps4uy2Ib585ii3ljXy6Ry/EUr6n2+Hi8VUlTEqP5bwJKVaX49c08P3AVTMySIoO5bHlxdrKVz5nSUE5FQ0d/OjcMdq697CBLmJ+lYjsEBGXiOR/4bWfikipiOwWkfMGVqY6ljC7jbvOGUPB/gaWFepc+cp3dPY4eXJ1CflZcZw5Rte09rSBtvALgcuBD/puFJE84BpgAjAf+KOI6ArEHnTVjAzGpETx0LIiuh06Ll/5hr+t3U91cxc/Onestu6HwIAC3xizyxiz+ygvLQBeMcZ0GWP2AqXAzIHsSx1bsC2In10wnv2H2/nrWp1jR3m/w61dPLGqhDm5iZw2KsHqcgKCp/rw04HyPs8r3NuUB505Jok5uYk8saqEpvYeq8tR6pgeXlZEe7eTX1ycZ3UpAeO4gS8iK0Wk8Ci3Bcf6sqNsO+rZRBFZKCIFIlJQW1t7onWroxARfnbBeJo7e/j9qmKry1HqS2060MCSggpuOSOH0cnRVpcTMI47O5ExZl4/PrcCyOzzPAM4+CWfvwhYBJCfn69DTAZofFoM180cweJP9nHp1HSmZA6zuiSl/oPTZbjvjUJSYkL53tm5VpcTUDzVpfMmcI2IhIpIDpALrPfQvtQX3H3+OJKiQ7l76TZ6dGI15WVeXn+Awspmfn5hns6IOcQGOizzMhGpAE4D3hKRdwGMMTuAJcBOYBlwuzHGOdBi1YmJCbPzwKWTKDrUwv+9X2Z1OUp9pqqpg0eWFXHayAQu0vnuh9xAR+m8bozJMMaEGmNSjDHn9XntQWPMKGPMWGPMOwMvVZ2Mc/JSuHBSGk+sKqW0ptXqcpTC5TL85B/bcLgMD10xSYdhWkCvtPVj918ygfAQGz99bRtOnU1TWexv6/bzYUkd9144nqyESKvLCUga+H4sKTqU+y7KY8O+Bp5+r9TqclQA21Pbyq/f3sWZY5K4buYIq8sJWBr4fu7y6eksmDqcx1YUs2FfvdXlqADkcLr44ZKthAbbeOTKydqVYyENfD8nIjxw6UQy4yP4/subaWzvtrokFWAeX1XC1vJGHrh0IikxYVaXE9A08ANAdJidJ6+dRl1rFz9+dZvOqKmGzIqd1Ty5upSrZmRw8ZThVpcT8DTwA8TkjGHcc/54Vu6q5vmP91ldjgoAe+vauOvvW5iUHsuvLp1odTkKDfyAcvPsbOaNT+HBt3fxUUmd1eUoP9bW5eC2v24k2CY8ff10wuw6Wa430MAPICLC7742hdFJUXz3xY2U1er4fDX4jDHcvXQbJTUtPHHtNDLiIqwuSblp4AeY6DA7z92Yj90WxK2LC/Qkrhp0T60p5d/bqvjxeWOZk6uLmngTDfwAlBkfwf/dMIPKhg6+87dNOt+OGjRLCsr57fJiLpuWznfOHGV1OeoLNPADVH52PA9fOYlP9xzm3te368gdNWBrimr46WvbmZObyMNX6Hh7b6RT1QWwy6ZlsLeunSdWlRAdZufnF47XH1LVL1vKG/nui5sYnxbN09fPICRY25LeSAM/wP1wXi7NHT386aO9RIYGc9c5Y6wuSfmYvXVt3PzCBhKjQ/jzN0/RKY+9mP7PBDgR4b6L8ujodvLEqhIiQmzcpn2v6gTtqW3l2mfXArD4ppkkR+uVtN5MA18RFCT8+vJJtPc4eeidIiJCbHzjtGyry1JerrSmN+xdLsNL3zqVkUlRVpekjkMDXwFgCxIeu3oKHd1O7ntjB90OF7fOGWl1WcpLFVe3cN2zawHhlYWzyE3RdWl9wUBXvLpKRHaIiEtE8vtszxaRDhHZ4r49M/BSlafZbUE89fVpnD8xlQfe2sVv392to3fUf9lV1cw1i9YSJBr2vmagLfxC4HLg/47yWpkxZuoAP18NsdBgG3+4bjo//+d2/rCmlPr2bn61YCK2IB29o2DDvnq+9ZcCwoJtvLx/0DaWAAANPUlEQVRwFjmJupCJLxlQ4BtjdgE6lM/P2IKEX182iWERITz9XhlNHT387uqpOtQuwL259SA/XrKVjLhwXrhpJiMSdMoEX+PJPvwcEdkMNAM/N8Z8eLQ3ichCYCHAiBG6Eo63EBHunj+OuAg7v367iIa2bp66bjpxkSFWl6aGmDGGp98v45Flu5mZHc//3TBDvw981HGbbCKyUkQKj3JbcIwvqwJGGGOmAXcBL4lIzNHeaIxZZIzJN8bkJyXpvBveZuHcUTx29RQK9jWw4KmP2X2oxeqS1BDqcbr46WvbeWTZbi6ZMpy/3jpTw96HHbeFb4yZd7IfaozpArrcjzeKSBkwBig46QqV5S6fnkFOYiTf/utGLvvjxzx29VTmT0y1uizlYXWtXXz/5c18UnaYO84azV3njCFIz+X4NI90yopIkojY3I9HArnAHk/sSw2NaSPi+Nf3zmBMSjS3/W0jv19ZjMulI3j81fq99Vzw+Ids3N/Ab66czI/PG6th7wcGOizzMhGpAE4D3hKRd90vzQW2ichW4B/AbcYYXUHbx6XEhPHKwllcOSOD368s4ZbFG6hr7bK6LDWIXC7DM++Xce2za4kMDeb1787mqvxMq8tSg0S8aZx1fn6+KSjQXh9vZ4zhb2v388Bbu4gOC+Y3V03hrLHJVpelBqipvYcfvbqFlbtquGBSKg9fMZnoMLvVZakTICIbjTH5x3ufjrNTJ01EuOG0bP71vTNIjArlpuc3cP+bO+jscVpdmuqnNbtrOO/3H/B+cS33X5zHU9dN17D3Qxr4qt/GpETzz9tnc8sZObzwyT4u+cNH7DjYZHVZ6iQ0dfTw/17dyk3PbyA6LJil3zmdb87O0Wtr/JR26ahB8X5xLT9+dSv1bd3cckYOd87LJSJEp2ryZmt21/DTpdupbe3itjNH8v2zcwkN1sXGfdGJdulo4KtB09jezUPvFPHKhnLSh4Xzy0smMC8vxeqy1BfUtnTx0DtFLN1UwZiUKH571RQmZwyzuiw1ABr4yjIb9tVz7+vbKa5u5bwJKfzi4gkMHxZudVkBr8vh5IWP9/Hk6lK6HE6+PXcU3zt7tLbq/YAGvrJUt8PFnz7ay+OrihGEW+fksHDuSD0RaAFjDKt21fDAWzvZd7ideeOTuffCPJ34zI9o4CuvUF7fzsPLivj3tiriIuzc8dVcrp81QluVQ6SwsomHlxXxYUkdo5Oj+J+L8jhzjE5h4m808JVX2V7RxCPv9gZP+rBw7jpnDJdOS9dplz1kW0Ujj68sYVVRDbHhdu6cl8v1s7Kw23Rgnj/SwFde6aOSOh5eVsT2yiZyEiO5dU4OV0zPIMyuLf7BsKW8kcdXFrNmdy2x4XZuPSOHG2dnE6NdaX5NA195LZfL8O6OQzzzfhlbK5pIiAzhxtOzuWFWls7E2A8ul+G94hqe/3gfH5bUMSzCzrfmjOQbp2XpOZMAoYGvvJ4xhnV761n0wR5WF9UQZg/i6vxMvn5qFmNTddm842ls72ZJQTl/W3uAA/XtJEWHctPsbL5xWjZRoXoNRCDRwFc+pbi6hWc/2MM/t1TS4zRMyYjlyvxMLpkynNhwbaUeYYxhS3kjL607wJtbD9LlcDEzO54bTsvivAmpuipZgNLAVz6pvq2bf26uZElBOUWHWggNDuK8CalcOSOD00YlBOxJx6JDzfxr60H+tbWKA/XthNttXDY9nRtmZTE+7ahrC6kAooGvfJoxhsLKZpYUlPPGlkqaOx3Ehts5e1wy5+SlMHdMEpF+3G1hjKGstpVlhYd4c+tBiqtbsQUJp49K4OIpw5k/MVVPxKrPaOArv9HZ4+S93TUs31nNql01NHX0EBIcxJzRiczLS+G0kQlkJUT4/IRfTe09fFxWxwfFtXxQXMvBpk4ATsmO45Ipwzl/UhqJUaEWV6m80ZAEvoj8BrgY6AbKgJuMMY3u134K3AI4ge8bY9790g9y08BXx+Nwutiwr4HlOw+xYmc1FQ0dACRHhzIzJ55Tc+KZmZNAbnKU16/QVN3cyZbyRrZVNPJJ2WG2ljfiMhAdFszsUYnMGZPIWWOTdVoKdVxDFfjnAquNMQ4ReRjAGHO3iOQBLwMzgeHASmCMMeaYE6Zr4KuTcaTbY93eetbvrWfdnnoONfe2imPD7YxLjWZ8WgxjU6N7bynRlnQDOZwuKhs72FPXxs6DzWwtb2RrRSPVzb2rhQUHCRPTY5k7Jom5uYlMzRxGcICeq1D9c6KBP6DvfmPM8j5P1wJXuh8vAF5xL2a+V0RK6Q3/TweyP6X6EhFGJ0czOjmar5+ahTGGioYO1u2tZ+P+BooONfNqQTlt3Z+3MzLjw8mMiyAtNpy02DDShoX13seGExcRQmSojYiQ4BO+ArjL4aShrYf6tu7eW3s3h1u7OFDfzr66NvYdbqe8vh1Hn/V/cxIjOW1kAlMyhzE5YxgThsfohWdqSAxmc+dm4O/ux+n0/gI4osK9TSmPEREy4yPIjI/gyhkZQO9FSZWNHeyqamb3oRaKa1qpbGjn07I6qlu6cH7JQuxh9iAiQ4KJDA3GbhOcLoPDZXA4e++dLhfdDtd//DLpKyLERlZCJOPTopk/MZWchEiyEyMZmxJNbISebFXWOG7gi8hKIPUoL91rjHnD/Z57AQfw4pEvO8r7j/qTJSILgYUAI0aMOIGSlTpxQUGf/xI4d8J/fhs7nC5qW7uoauqkqrGTpo4e2rsdtHU5aet20NbloL3bSbfDRbBNsAUJwUGCLSgIu02w24KIi7ATFxlCQmQIcREhxEd+fvP1k8jK/xw38I0x8471uojcCFwEnG0+PyFQAfRd6j4DOPgln78IWAS9ffgnULNSgyLYFuTu2gkHbWuoADCgM0MiMh+4G7jEGNPe56U3gWtEJFREcoBcYP1A9qWUUmpgBtqH/wcgFFjh/vN1rTHmNmPMDhFZAuykt6vn9uON0FFKKeVZAx2lM/oYrz0IPDiQz1dKKTV4dLCvUkoFCA18pZQKEBr4SikVIDTwlVIqQGjgK6VUgPCq6ZFFpBbYP0gflwjUDdJnWckfjsMfjgH84zj84RjAP45jMI8hyxiTdLw3eVXgDyYRKTiR2eO8nT8chz8cA/jHcfjDMYB/HIcVx6BdOkopFSA08JVSKkD4c+AvsrqAQeIPx+EPxwD+cRz+cAzgH8cx5Mfgt334Siml/pM/t/CVUkr14XeBLyK/EpFtIrJFRJaLyHD3dhGRJ0Sk1P36dKtr/TIi8hsRKXLX+bqIDOvz2k/dx7BbRM6zss7jEZGrRGSHiLhEJP8Lr/nSccx311kqIvdYXc+JEpE/i0iNiBT22RYvIitEpMR9H2dljccjIpkiskZEdrm/l37g3u4zxyEiYSKyXkS2uo/hl+7tOSKyzn0MfxeREI8XY4zxqxsQ0+fx94Fn3I8vAN6hdzWuWcA6q2s9xjGcCwS7Hz8MPOx+nAdspXdK6hygDLBZXe8xjmM8MBZ4D8jvs91njgOwuesbCYS4686zuq4TrH0uMB0o7LPtEeAe9+N7jnxveesNSAOmux9HA8Xu7x+fOQ535kS5H9uBde4MWgJc497+DPAdT9fidy18Y0xzn6eRfL604gLgL6bXWmCYiKQNeYEnwBiz3BjjcD9dS++KYdBncXhjzF7gyOLwXskYs8sYs/soL/nSccwESo0xe4wx3cAr9Nbv9YwxHwD1X9i8AFjsfrwYuHRIizpJxpgqY8wm9+MWYBe962P7zHG4M6fV/dTuvhngq8A/3NuH5Bj8LvABRORBESkHvg7c596cDpT3eZuvLKx+M71/mYDvHsMX+dJx+FKtJyLFGFMFvWEKJFtczwkTkWxgGr0tZJ86DhGxicgWoAZYQe9fjY19GnZD8n3lk4EvIitFpPAotwUAxph7jTGZ9C6qfseRLzvKR1k2ROl4x+B+T78Xhx8qJ3IcR/uyo2zz1uFivlSr3xKRKGApcOcX/or3CcYYpzFmKr1/rc+kt7vzv97m6ToGusShJcxxFlbv4yXgLeAXnMTC6kPheMcw0MXhh8pJ/F/05XXHcQy+VOuJqBaRNGNMlbtLs8bqgo5HROz0hv2LxpjX3Jt97jgAjDGNIvIevX34w0Qk2N3KH5LvK59s4R+LiOT2eXoJUOR+/CbwDfdonVlA05E/Cb1NACwO70vHsQHIdY+oCAGuobd+X/UmcKP78Y3AGxbWclzSu1j2n4BdxpjH+rzkM8chIklHRtqJSDgwj95zEWuAK91vG5pjsPoMtgfOiC8FCoFtwL+A9D5nyp+it+9sO31GjXjbjd6TmOXAFvftmT6v3es+ht3A+VbXepzjuIzeFnIXUA2866PHcQG9o0PKgHutruck6n4ZqAJ63P8PtwAJwCqgxH0fb3WdxzmGM+jt6tjW5+fhAl86DmAysNl9DIXAfe7tI+lt6JQCrwKhnq5Fr7RVSqkA4XddOkoppY5OA18ppQKEBr5SSgUIDXyllAoQGvhKKRUgNPCVUipAaOArpVSA0MBXSqkA8f8B+tEYXkl1r6MAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "points = np.linspace(0, 2*np.pi, 100)\n",
    "radius = 20\n",
    "trajectory = radius * np.stack((np.cos(points), np.sin(points)), axis=1)\n",
    "plt.plot(*trajectory.T)\n",
    "_ = plt.axis('equal')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "spline_circle = Spline(trajectory, closed=True)\n",
    "spline_circle = pace_net.predict(spline_circle, average_speed=1.0)\n",
    "prediction = model.generate_motion(spline_circle, dataset['S1']['jog_1_d0'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "HTML(render_animation(prediction, dataset.skeleton(), dataset.fps(), output='html'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# You can also save the animation as an MP4 video (requires ffmpeg)\n",
    "render_animation(prediction, dataset.skeleton(), dataset.fps(), output='anim.mp4', bitrate=1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ... or a gif (requires imagemagick)\n",
    "render_animation(prediction, dataset.skeleton(), dataset.fps(), output='anim.gif')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "render_animation(dataset['S1']['run_1_d0']['positions_world'][50:200], dataset.skeleton(), dataset.fps(), output='demo.gif')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
